Packaged business applications are prevalent in modern information technology. Packaged business applications provide a computer-based user interface that users utilize to perform business functions (e.g., create a ticket, approve a purchase order, update a work order, etc). Many such business applications use business objects to pass data back and forth between a user interface and a persistence layer (e.g., a relational database or XML repository) where data is stored beyond the current session. The business objects of a business application enforce business rules that determine what can or cannot be done with the data embodied within the business objects. The user interface of a business application enables users to perform specific tasks and read or manipulate the data embodied within the business objects.
It is also often necessary for business applications to retrieve, display and consume data that is not normally managed by the native business application. Such data is resident in external applications and can be retrieved using data synchronization, data integration, Application Programming Interfaces (API) or web services.
A web service is a software resource available to a client machine over a network. In a typical scenario, a client machine will invoke a web service by transmitting a request over the network to a server hosting the web service. The server will then execute the web service according to the request made by the client machine, and may transmit a response back to the client machine.
One or more Web services may be used to enrich a business application by integrating data that is external to the application. Nevertheless, developer resources, dedicated development tools, and the authoring of code are traditionally required to design an interface between a packaged business application and a web service.